﻿// -----------------------------------------------------------------------
// <copyright file="ILcdPlugin.cs" company="Microsoft">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace GLCDBaseTypes.PluginInterfaces
{
    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Linq;
    using System.Text;

    using GLCDBaseTypes.BaseTypes;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public interface ILcdPlugin
    {
        string GetPluginDescription();

        List<HexRepresentationItem> GetHexList(Bitmap bitmap);

        string GetArduinoCode(List<HexRepresentationItem> hexList, string codeElementName, int width);

        string GetArduinoCode(Bitmap bitmap, string codeElementName);

        Bitmap CreateBitmapFromHex(List<HexRepresentationItem> hexList, int width, int zoomFactor);

        string GetArduinoCodeForFont(Font font, int desiredWidth, int desiredHeight, string codeElementName);

        List<HexRepresentationItem> GetHexList(Font font, int desiredWidth, int desiredHeight);
    }
}
